package vista;

import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

import controlador.ControladorJuego;
import controlador.ControladorMoverPolicia;

import thieft.Capital;
import thieft.Juego;

public class VistaCapitales {

	private Juego juego;
	private JFrame frame;
	private ControladorJuego controladorJuego;
	
	public VistaCapitales(Juego juego, ControladorJuego controladorJuego) {
		
		this.juego = juego;
		this.controladorJuego = controladorJuego;
		
		this.frame = new JFrame("CAPITALES");
		this.frame.setVisible(true);	
		this.frame.setSize(300,250);
		this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);			
		this.frame.getContentPane().setLayout(null);
		
		JLabel label = new JLabel("Viajar A:");
		this.frame.getContentPane().add(label);
		label.setBounds(10, 0, 500, 50);
	}
	
	public void menuCapitales() {
		
		List<Capital> capitalesPosibles = this.juego.proximasCapitalesAVisitar();
		
		JButton capital = new JButton(capitalesPosibles.get(0).obtenerNombreCapital());
		this.frame.getContentPane().add(capital);
		capital.setBounds(60, 50, 170, 30);
		capital.addActionListener( new ControladorMoverPolicia(this.juego, this.frame, capitalesPosibles.get(0), this.controladorJuego) );
		
		capital = new JButton(capitalesPosibles.get(1).obtenerNombreCapital());
		this.frame.getContentPane().add(capital);
		capital.setBounds(60, 90, 170, 30);
		capital.addActionListener( new ControladorMoverPolicia(this.juego, this.frame, capitalesPosibles.get(1), this.controladorJuego) );
		
		capital = new JButton(capitalesPosibles.get(2).obtenerNombreCapital());
		this.frame.getContentPane().add(capital);
		capital.setBounds(60, 130, 170, 30);
		capital.addActionListener( new ControladorMoverPolicia(this.juego, this.frame, capitalesPosibles.get(2), this.controladorJuego) );
		
		capital = new JButton(capitalesPosibles.get(3).obtenerNombreCapital());
		this.frame.getContentPane().add(capital);
		capital.setBounds(60, 170, 170, 30);
		capital.addActionListener( new ControladorMoverPolicia(this.juego, this.frame, capitalesPosibles.get(3), this.controladorJuego) );
	}
}
